import { ref, reactive } from 'vue';
import { request } from '../utils/request';

let url = ref('')
let query = reactive({})
export const paging = ref(null)
// v-model绑定的这个变量不要在分页请求结束中自己赋值，直接使用即可
export const dataList = ref([])
// 设置接口url方法
export const setUrl = (listUrl) => {
	url.value = listUrl
}
// 设置额外参数方法
export const setQuery = (params) => {
	query = params
}
export const queryList = (pageNo, pageSize) => {
	if (url == '') {
		return console.log('请在页面中设置请求接口url');
	}
	let params = {
		pageNum: pageNo,
		pageSize: pageSize,
		...query
	}
	// 列表请求
	request({
		url: url.value,
		method:'get',
		data: params
	}).then(res => {
		console.log(res);
		// 将请求结果通过complete传给z-paging处理，同时也代表请求结束，这一行必须调用
        paging.value.complete(res.rows);
    }).catch(res => {
		// 如果请求失败写paging.value.complete(false);
		// 注意，每次都需要在catch中写这句话很麻烦，z-paging提供了方案可以全局统一处理
		// 在底层的网络请求抛出异常时，写uni.$emit('z-paging-error-emit');即可
		paging.value.complete(false);
	})
}